Generic Locking and Deadlock-Prevention with C++

نویسندگان

  • Michael Süß
  • Claudia Fohry
چکیده

Concurrent programming with threads heavily relies on locks. The locks provided by most threading systems are rather basic and suffer from a variety of problems. This paper addresses some of them, namely deadlocks, lack of exception-safety, and their procedural style. We describe higher-level locks that can be assembled from the more basic ones. Throughout the paper, we refer to C++ and OpenMP for parallelization, but most of the functionality is generic and independent from OpenMP. This work is part of the AthenaMP project.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Generic Locking and Deadlock-Prevention with C++

c © 2007 by John von Neumann Institute for Computing Permission to make digital or hard copies of portions of this work for personal or classroom use is granted provided that the copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise requires prior specific permission by the publisher ment...

متن کامل

A Modular Scheme for Deadlock Prevention in an Object-Oriented Programming Model

Despite the advancements of concurrency theory in the past decades, practical concurrent programming has remained a challenging activity. Fundamental problems such as data races and deadlocks still persist for programmers since available detection and prevention tools are unsound or have otherwise not been well adopted. In an alternative approach, programming models that exclude certain classes...

متن کامل

A Concurrency Control Scheme for Nested Transactions

Locking rules for concurrency control in nested transaction model, in which parent/child parallelism, sibling parallelism, and arbitrary commitment-dependence relationship between transactions are allowed, are presented. The locking rules are based on the lock transformation scheme that never allows the commit deadlock to occur, which could happen by permitting parent/child parallelism. In addi...

متن کامل

Pre-Analysis Locking: A Safe and Deadlock Free Locking Policy

A safe and deadlock free lock policy is introduced, called pre-analysis locking. Pre-analysis locking is based on an efficient geometric algorithm which inserts lock and unlock operations into the transactions. Pre-analysis locking is the first safe and deadlock free general locking policy which is not a variant of two-phase locking. It is an approach conceptually different from policies follow...

متن کامل

Deadlock prevention and deadlock avoidance in flexible manufacturing systems using Petri net models

Deadlocks constitute an important issue to he addressed in the design and operation of flexible manufacturing systems (FMS’s). In this paper, we show that prevention and avoidance of FMS deadlocks can he implemented using Petri net models. For deadlock prevention, we use the reachability graph of a Petri net model of the given FMS, whereas for deadlock avoidance, we propose a Petri net-based on...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007